Developer Documentation
PATH  Mac OS X Documentation > Developer Tools > The Objective-C Compiler


Previous | Contents | Next

Extensions to the C Language Family

GNU C provides several language features not found in ANSI standard C. (The -pedantic option directs GNU CC to print a warning message if any of these features is used.) To test for the availability of these features in conditional compilation, check for a predefined macro __GNUC__ , which is always defined under GNU CC.

These extensions are available in C and Objective-C. Most of them are also available in C++. See See Extensions to the C++ Language for extensions that apply only to C++.

Statements and Declarations in Expressions

Locally Declared Labels

Labels as Values

Nested Functions

Constructing Function Calls

Naming an Expression's Type

Referring to a Type with "typeof"

Generalized Lvalues

Conditionals with Omitted Operands

Double-Word Integers

Complex Numbers

Arrays of Length Zero

Arrays of Variable Length

Macros with Variable Numbers of Arguments

Non-Lvalue Arrays May Have Subscripts

Arithmetic on "void"- and Function-Pointers

Non-Constant Initializers

Constructor Expressions

Labeled Elements in Initializers

Case Ranges

Cast to a Union Type

Declaring Attributes of Functions

Prototypes and Old-Style Function Definitions

C++ Style Comments

Dollar Signs in Identifier Names

The Character ESC in Constants

Inquiring on Alignment of Types or Variables

Specifying Attributes of Variables

Specifying Attributes of Types

An Inline Function is As Fast As a Macro

Assembler Instructions with C Expression Operands

Controlling Names Used in Assembler Code

Variables in Specified Registers

Alternate Keywords

Incomplete enum Types

Function Names as Strings


The Objective-C Compiler

Previous | Contents | Next